# -*- coding:utf-8 -*-
# title           :
# description     :
# author          :Python超人/三月三提供
# date            :2024-07-15
# link            :https://gitcode.net/pythoncr/
# python_version  :3.9
# ==============================================================================

from 神笔码靓.神笔库.神笔绘图板 import 神笔绘图板
from 神笔码靓.神笔库.定义集 import *
from 神笔码靓.神笔库.配置 import *
from 神笔码靓.神笔库.通用工具集 import *


class 古文书法字典(神笔绘图板):
    页面缩放调整 = 1.0759772  # 1.0759772 < 精确值 < 1.0759773

    def __init__(self, 字典文件路径, 背景色=颜色.白色, 文字颜色=颜色.黑色, 背景边框色=颜色.透明):
        宽, 高 = 纸张大小.A4_纵向(1)

        self.页高 = 高
        self.最大页数 = 15
        super(古文书法字典, self).__init__(作品文件路径=字典文件路径, 宽=宽, 高=高 * self.最大页数)
        self.背景色 = 背景色
        self.样式.设置背景色(self.背景色)
        self.背景边框色 = 背景边框色
        self.文字颜色 = 文字颜色
        self.左边距, self.右边距 = 50, 50
        self.上边距, self.下边距 = 115, 60
        self.字间隔 = 40
        self.当前页眉文字 = ""
        self.排除汉字 = []
        self.索引页 = []
        self.字数统计 = 0

    def 页背景样式(self, 当前页):

        页参考线ID = f"页背景样式{当前页}"
        if hasattr(self, 页参考线ID):
            return

        # print(f"第{页数}页：", end="\r")
        setattr(self, 页参考线ID, True)
        # 边距 = 20

        # 背景色
        if self.背景色 != 颜色.白色:
            h = self.页起始高(当前页)
            self.画矩形(x=0, y=h, 宽=self.宽, 高=self.页高, 填充颜色=self.背景色, 描边宽度=0)

        # # 背景边框
        # if self.背景边框色 != 颜色.透明:
        #     self.画矩形(x=边距, y=边距 + h, 宽=self.宽 - 边距 * 2, 高=self.页高 - 边距 * 2,
        #              描边颜色=self.背景边框色, 描边宽度=1, 圆角半径=20)
        # 页码
        # 页数 = 页数 - 2
        # if 页数 > 0:
        #     h = self.页起始高(页数)
        #     y = h + self.页高 - self.下边距 + 40
        #     self.写字(x=self.宽 / 2, y=y, 文字=f"{页数}",
        #             填充颜色=self.文字颜色, 字体=系统字体.VERDANA)

    def 加载字体样式(self, 字体):
        self.样式.设置字体样式(字体)

    def 页起始高(self, 页数):
        return (页数 - 1) * self.页高

    def 写页脚(self, 当前页):
        if 当前页 == 1:
            return
        页脚ID = f"页脚{当前页}"
        if hasattr(self, 页脚ID):
            return
        setattr(self, 页脚ID, True)
        页码 = 当前页  # - self.空白页数
        if 页码 > 0:
            h = self.页起始高(当前页)
            y = h + self.页高 - self.下边距
            self.写字(x=self.宽 / 2, y=y + 25, 文字=f"{页码 - 1}",  # 垂直基线对齐=文字垂直基线对齐.底线对齐,
                    填充颜色=self.文字颜色, 字体大小=18, 字体=系统字体.Verdana)

            self.写字(x=self.宽 - self.右边距, y=y + 25,
                    # 文字="https://gitcode.net/pythoncr",
                    文字="https://gitee.com/pythoncr",
                    水平基线对齐=文字水平基线对齐.结束点对齐, 垂直基线对齐=文字垂直基线对齐.底线对齐,
                    字体=系统字体.Verdana, 字体大小=18, 填充颜色=self.文字颜色)

            self.连直线([(self.左边距, y), (self.宽 - self.左边距, y)], 描边颜色=self.背景边框色)

    def 写页眉(self, 当前页):
        if 当前页 == 1:
            return
        页眉ID = f"页眉{当前页}"
        if hasattr(self, 页眉ID):
            return
        setattr(self, 页眉ID, True)
        h = self.页起始高(当前页)
        self.写字(x=self.宽 / 2, y=h + 50, 文字=self.当前页眉文字,  # 垂直基线对齐=文字垂直基线对齐.顶线对齐,
                字体=系统字体.TimesNewRoman, 字体大小=30, 填充颜色=self.文字颜色)

        self.写字(x=self.宽 - self.右边距, y=h + 50, 文字="《神笔码靓》制作",
                水平基线对齐=文字水平基线对齐.结束点对齐, 垂直基线对齐=文字垂直基线对齐.顶线对齐,
                字体=系统字体.TimesNewRoman, 字体大小=16, 填充颜色=self.文字颜色)

        self.连直线([(self.左边距, h + 75), (self.宽 - self.左边距, h + 75)], 描边颜色=self.背景边框色)

    def 页面设置(self, 设置: 纸张设置):
        # 输出 PDF 文件，以及 页面打印，在这里设置好
        设置.上页边距 = 0
        设置.下页边距 = 0
        设置.左页边距 = 0
        设置.右页边距 = 0
        设置.页面方向 = 纸张方向.纵向
        设置.页面尺寸规格 = "A4"
        设置.页面缩放 = self.页面缩放调整

    def 完成前执行(self):
        # print("最大页数", self.最大页数)
        高 = self.页高 * self.最大页数
        self.修改绘图板大小(高=高)

    def 写封面索引页(self):
        self.写字(x=self.宽 / 2, y=self.上边距 * 1.2, 文字="《篆体甲骨文字典》", 字体大小=45, 字体=系统字体.隶书)
        # 神笔码靓
        样例文字间距 = self.宽 / 10
        宽中线 = self.宽 / 2
        高中线 = self.页高 / 2
        for yi, 字 in 索引列举("神笔马良"):

            self.写字(x=宽中线 - 样例文字间距 * 1.5, y=yi * 60 + self.上边距 + 120, 文字=字, 字体="仿宋拼音体", 字体大小=35)
            self.写字(x=宽中线 - 样例文字间距 * 0.5, y=yi * 60 + self.上边距 + 120, 文字=字, 字体="峄山碑篆体", 字体大小=35)
            self.写字(x=宽中线 + 样例文字间距 * 0.5, y=yi * 60 + self.上边距 + 120, 文字=字, 字体="甲骨文", 字体大小=35)

            self.写字(x=宽中线 + 样例文字间距 * 1.5, y=yi * 60 + self.上边距 + 120,
                    文字="神笔码靓"[yi], 字体="小篆体", 字体大小=35)


        self.作者印章().平移(self.宽-245, 高中线-220).缩放(0.2).透明度(0.5)

        self.写字(x=宽中线, y=高中线 - 25, 文字=f"（共计 {self.字数统计} 字）", 字体大小=25, 字体=系统字体.隶书)
        y = 高中线 - 60
        self.写字(x=宽中线, y=y, 文字="索引表", 字体大小=35, 字体=系统字体.隶书)
        self.连线([(self.左边距 * 2, y), ("水平线", self.左边距 * 2 + 3 * 70),
                 ("移动", self.宽 - self.右边距 * 2, y), ("水平线", self.宽 - self.右边距 * 2 - 3 * 70)], 描边样式="3,3")

        for yi, 索引 in 索引列举(self.索引页):
            # 文字长度 = len(索引[0] + 索引[1])
            # 文字 = 索引[0] + "." * (20 - 文字长度) + 索引[1]
            y = self.页高 / 2 + 20 + yi // 2 * self.字间隔 * 0.8
            if yi % 2 == 0:
                x1 = self.左边距 * 2
                x2 = self.宽 / 2 - self.右边距
            else:
                x1 = self.宽 / 2 + self.左边距
                x2 = self.宽 - self.右边距 * 2

            self.写字(x=x1, y=y, 文字=索引[0], 字体大小=28,
                    水平基线对齐=文字水平基线对齐.起始点对齐, 字体=系统字体.TimesNewRoman)
            self.写字(x=x2, y=y, 文字=索引[1], 字体大小=22,
                    水平基线对齐=文字水平基线对齐.结束点对齐, 字体=系统字体.TimesNewRoman)
            # self.连线([(self.左边距 * 3, y), (self.右边距 * 3, y)], 描边宽度=5, 描边样式="3,3")
            self.连直线([(x1 + self.左边距 * 0.7, y), (x2 - self.右边距 * 0.7, y)], 描边样式="3,3")

    def 创作(self):
        self.初始化排除汉字()

        拼音索引字典 = {"啊": "a", "芭": "b", "擦": "c", "搭": "d", "蛾": "e", "发": "f", "该": "g", "哈": "h",
                  "击": "j", "咖": "k", "垃": "l", "妈": "m", "拿": "n", "哦": "o", "啪": "p", "期": "q",
                  "然": "r", "撒": "s", "塌": "t", "挖": "w", "昔": "x", "压": "y", "匝": "z"}

        # 注意：图框不会显示到 PDF 文件中，如果不希望SVG文件显示图框，可以注释或者删除以下代码
        # self.显示图框()
        # self.显示网格(网格线距=20, 网格颜色=颜色.暗灰色, 网格透明度=1, 网格字体大小=9)
        当前页 = 1
        self.页背景样式(当前页)
        self.写页眉(当前页)
        self.写页脚(当前页)

        xi, yi = 0, 0
        行距 = self.字间隔 * 1.45
        每页的最大行数 = int(self.页高 - self.上边距 - self.下边距) // 行距 + 1
        行数统计 = 1

        c = 0
        for 字 in 获取GB2312汉字集():
            if 字 in self.排除汉字:
                continue

            # if c > 1000:
            #     break

            x = self.左边距 + xi * self.字间隔 * 3.5

            if x > self.宽 - self.右边距:
                xi = 0
                x = self.左边距 + xi * self.字间隔 * 3
                yi += 1
                行数统计 += 1

            if 字 in 拼音索引字典:
                self.当前页眉文字 = 拼音索引字典[字]
                行数统计 = 1
                当前页 += 1
                xi, yi = 0, 0
                x = self.左边距 + xi * self.字间隔 * 3.5
                self.页背景样式(当前页)
                self.写页眉(当前页)
                self.写页脚(当前页)
                self.索引页.append((self.当前页眉文字, str(当前页 - 1)))

            elif 行数统计 > 每页的最大行数:
                行数统计 = 1
                当前页 += 1
                xi, yi = 0, 0
                x = self.左边距 + xi * self.字间隔 * 3.5
                self.页背景样式(当前页)
                self.写页眉(当前页)
                self.写页脚(当前页)

            y = self.上边距 + yi * 行距 + self.页起始高(当前页)

            self.写字(x=x, y=y, 文字=字, 字体="仿宋拼音体", 字体大小=32, 水平基线对齐=文字水平基线对齐.起始点对齐)
            self.写字(x=x + self.字间隔, y=y, 文字=字, 字体="峄山碑篆体", 字体大小=36, 水平基线对齐=文字水平基线对齐.起始点对齐)
            self.写字(x=x + self.字间隔 * 2, y=y, 文字=字, 字体="甲骨文", 字体大小=38, 水平基线对齐=文字水平基线对齐.起始点对齐)

            # 测试性能
            # self.文字转路径(x=x, y=y, 文字=字, 字体文件=字体文件目录("仿宋拼音体.ttf"), 字体大小=32, 填充颜色=颜色.黑色)
            # self.文字转路径(x=x + self.字间隔, y=y, 文字=字, 字体文件=字体文件目录("峄山碑篆体.ttf"), 字体大小=36, 填充颜色=颜色.黑色)
            # self.文字转路径(x=x + self.字间隔 * 2, y=y, 文字=字, 字体文件=字体文件目录("甲骨文.ttf"), 字体大小=38, 填充颜色=颜色.黑色)

            xi += 1
            self.字数统计 += 1

        self.最大页数 = 当前页
        # print(self.索引页)
        self.写封面索引页()

    def 初始化排除汉字(self):
        self.排除汉字 = ['皑', '胺', '盎', '敖', '翱', '笆', '佰', '稗', '钡', '焙', '苯', '甭', '迸', '蓖', '毖', '陛', '卞', '膘', '摈', '炳',
                     '钵', '铂', '箔', '帛', '碴', '搽', '诧', '掣', '郴', '骋', '炽', '踌', '躇', '滁', '搐', '椽', '疵', '茨', '蹿', '瘁',
                     '淬', '磋', '傣', '殆', '郸', '惮', '狄', '嫡', '靛', '碉', '凋', '锭', '恫', '犊', '遁', '掇', '剁', '厄', '珐', '藩',
                     '樊', '钒', '酚', '汾', '烽', '氟', '涪', '釜', '腑', '讣', '噶', '嘎', '篙', '皋', '铬', '龚', '箍', '刽', '辊', '骸',
                     '氦', '邯', '壕', '郝', '菏', '貉', '阂', '涸', '亨', '瑚', '桓', '豢', '磺', '蛔', '烩', '姬', '汲', '蓟', '伎', '悸',
                     '枷', '荚', '笺', '缄', '硷', '饯', '铰', '疥', '靳', '烬', '粳', '痉', '炯', '狙', '疽', '咀', '踞', '撅', '攫', '抉',
                     '浚', '郡', '喀', '咯', '柯', '胯', '侩', '匡', '岿', '奎', '傀', '阑', '谰', '佬', '镭', '儡', '楞', '傈', '涟', '燎',
                     '撂', '镣', '廖', '霖', '陇', '掳', '潞', '戮', '孪', '滦', '纶', '谩', '铆', '酶', '镁', '醚', '糜', '幂', '娩', '抿',
                     '螟', '氖', '淖', '霓', '倪', '蔫', '拈', '啮', '镊', '镍', '涅', '沤', '琶', '磐', '耪', '咆', '呸', '裴', '抨', '硼',
                     '砒', '琵', '毗', '痞', '瞥', '粕', '莆', '埔', '沏', '畦', '祁', '讫', '扦', '钎', '仟', '堑', '蔷', '橇', '鞘', '氰',
                     '邱', '酋', '泅', '蛆', '颧', '醛', '炔', '榷', '攘', '茹', '孺', '阮', '鳃', '莎', '苫', '膳', '汕', '缮', '墒', '芍',
                     '韶', '邵', '赊', '慑', '砷', '虱', '噬', '仕', '戍', '舜', '朔', '嗣', '怂', '擞', '僳', '绥', '蓑', '獭', '挞', '酞',
                     '坍', '袒', '搪', '绦', '锑', '嚏', '腆', '眺', '烃', '汀', '酮', '湍', '陀', '烷', '桅', '潍', '渭', '瓮', '挝', '斡',
                     '钨', '毋', '坞', '晤', '硒', '矽', '烯', '檄', '铣', '锨', '舷', '涎', '楔', '忻', '惺', '邢', '嘘', '眩', '蚜', '阉',
                     '佯', '疡', '瑶', '噎', '耶', '掖', '曳', '揖', '铱', '颐', '沂', '臆', '肄', '裔', '诣', '翌', '缨', '臃', '痈', '蛹',
                     '恿', '铀', '釉', '峪', '驭', '垣', '辕', '郧', '攒', '札', '铡', '蘸', '湛', '漳', '瘴', '蛰', '锗', '甄', '砧', '臻',
                     '帧', '峙', '炙', '痔', '盅', '诌', '篆', '淄', '孜', '滓', '渍', '鬃', '邹', '诅', '纂', '柞', '亍', '丌', '孬', '丨',
                     '禺', '丿', '乇', '爻', '卮', '氐', '胤', '馗', '毓', '睾', '鼗', '丶', '鼐', '乜', '乩', '亓', '芈', '啬', '嘏', '仄',
                     '厍', '厝', '厣', '厥', '靥', '赝', '匚', '叵', '匦', '匮', '赜', '刂', '刈', '刎', '刭', '刳', '刿', '剀', '剞', '剡',
                     '剜', '蒯', '剽', '劂', '劁', '劐', '冂', '罔', '仃', '仉', '仂', '仨', '仡', '仫', '仞', '伛', '仳', '伢', '佤', '仵',
                     '伥', '伧', '伉', '伫', '佞', '佧', '佚', '佝', '佟', '佗', '伲', '伽', '佶', '佴', '侑', '侉', '侏', '佾', '佻', '侪',
                     '佼', '侬', '侔', '俦', '俨', '俪', '俅', '俚', '俣', '俜', '俑', '俟', '俸', '倩', '偌', '俳', '倬', '倏', '倮', '倭',
                     '俾', '倜', '倌', '倥', '倨', '偾', '偃', '偕', '偈', '偬', '偻', '傥', '傧', '傩', '傺', '僖', '儆', '僭', '僬', '僦',
                     '僮', '儇', '儋', '仝', '氽', '佘', '俎', '龠', '汆', '籴', '巽', '黉', '馘', '冁', '夔', '勹', '匍', '訇', '匐', '夙',
                     '亠', '兖', '亳', '衮', '袤', '亵', '脔', '裒', '嬴', '蠃', '羸', '冫', '冱', '冽', '冼', '凇', '冖', '冢', '讠', '讦',
                     '讧', '讪', '讴', '讵', '讷', '诂', '诃', '诋', '诏', '诎', '诒', '诓', '诔', '诖', '诘', '诙', '诜', '诟', '诠', '诤',
                     '诨', '诩', '诮', '诰', '诳', '诶', '诹', '诼', '诿', '谀', '谂', '谄', '谇', '谌', '谏', '谑', '谒', '谔', '谕', '谖',
                     '谙', '谛', '谘', '谝', '谟', '谠', '谡', '谥', '谧', '谪', '谫', '谮', '谯', '谲', '谳', '谵', '谶', '卩', '卺', '阝',
                     '阢', '阡', '阱', '阪', '阽', '阼', '陂', '陉', '陔', '陟', '陧', '陬', '陲', '陴', '隈', '隍', '隗', '隰', '邗', '邛',
                     '邝', '邙', '邬', '邡', '邴', '邳', '邶', '邺', '邸', '邰', '郏', '郅', '邾', '郐', '郄', '郇', '郓', '郦', '郢', '郜',
                     '郗', '郛', '郫', '郯', '郾', '鄄', '鄢', '鄞', '鄣', '鄱', '鄯', '鄹', '酃', '酆', '奂', '劢', '劬', '劭', '劾', '哿',
                     '勐', '勖', '勰', '燮', '矍', '廴', '凵', '凼', '鬯', '厶', '弁', '畚', '巯', '坌', '垩', '垡', '塾', '墼', '壅', '壑',
                     '圩', '圬', '圪', '圳', '圹', '圮', '圯', '坜', '圻', '坂', '坩', '垅', '坫', '垆', '坼', '坻', '坨', '坭', '坶', '坳',
                     '垭', '垤', '垌', '垲', '埏', '垧', '垴', '垓', '垠', '埕', '埘', '埚', '埙', '埒', '垸', '埴', '埯', '埸', '埤', '埝',
                     '堋', '堍', '埽', '埭', '堀', '堞', '堙', '塄', '堠', '塥', '塬', '墁', '墉', '墚', '墀', '鼙', '懿', '艽', '芏', '芊',
                     '芨', '芄', '芎', '芑', '芗', '芫', '芸', '芾', '芰', '苈', '苊', '苣', '芘', '芷', '芮', '苋', '苌', '苁', '芩', '芴',
                     '芡', '芪', '芟', '苄', '苎', '芤', '苡', '苷', '苤', '茏', '茇', '苜', '苒', '苘', '茌', '苻', '苓', '茑', '茚', '茆',
                     '茔', '茕', '苠', '苕', '茜', '荑', '荛', '荜', '茈', '莒', '茼', '茴', '茱', '莛', '荞', '茯', '荏', '荇', '荃', '荟',
                     '荀', '茗', '荠', '茭', '茺', '茳', '荦', '荥', '荨', '茛', '荩', '荬', '荪', '荭', '荮', '莰', '荸', '莳', '莴', '莠',
                     '莪', '莓', '莜', '莅', '荼', '莶', '莩', '荽', '莸', '荻', '莘', '莞', '莨', '莼', '菁', '萁', '菥', '菘', '萘', '萋',
                     '菝', '菽', '菖', '萜', '萸', '萑', '萆', '菔', '菟', '萏', '萃', '菸', '菹', '菪', '菅', '菀', '萦', '菰', '菡', '葜',
                     '葑', '葚', '葙', '葳', '蒇', '蒈', '葺', '蒉', '葸', '萼', '葆', '葩', '葶', '蒌', '蒎', '萱', '葭', '蓁', '蓍', '蓐',
                     '蓦', '蒽', '蓓', '蓊', '蒺', '蓠', '蒡', '蒹', '蒴', '蒗', '蓥', '蓣', '蔌', '甍', '蔸', '蓰', '蔹', '蔟', '蔺', '蕖',
                     '蔻', '蓿', '蓼', '蕙', '蕈', '蕨', '蕤', '蕞', '蕺', '瞢', '蕃', '蕲', '蕻', '薤', '薨', '薏', '蕹', '薮', '薜', '薅',
                     '薹', '薷', '薰', '藓', '藁', '藜', '藿', '蘧', '蘅', '蘩', '蘖', '蘼', '廾', '弈', '夼', '奁', '耷', '奕', '奘', '匏',
                     '尢', '尥', '扌', '扪', '抟', '抻', '拊', '拚', '拮', '挢', '拶', '挹', '捋', '捃', '掭', '揶', '捱', '掎', '掴', '捭',
                     '掬', '掊', '捩', '掮', '掼', '揲', '揸', '揠', '揿', '揄', '揞', '揎', '摒', '揆', '掾', '摅', '摁', '搋', '搛', '搠',
                     '搌', '搦', '搡', '摞', '撄', '摭', '撖', '摺', '撷', '撸', '撙', '撺', '擀', '擐', '擗', '擤', '擢', '攉', '攥', '攮',
                     '甙', '弑', '卟', '叱', '叻', '吒', '吖', '呋', '呒', '呓', '呔', '呖', '呃', '吡', '呗', '呙', '吣', '吲', '咂', '咔',
                     '呷', '呤', '咚', '咛', '呶', '呦', '咝', '哐', '咭', '哂', '咴', '哒', '咦', '哓', '哔', '呲', '咣', '哕', '咻', '咿',
                     '哌', '哙', '哚', '哜', '咩', '咤', '哝', '哏', '哞', '唛', '哧', '哽', '唔', '哳', '唢', '唣', '唏', '唑', '唪', '啧',
                     '喏', '喵', '啉', '啭', '啁', '啕', '唿', '啐', '唼', '唷', '啖', '啵', '啶', '啷', '唳', '啜', '喋', '喃', '喱', '喹',
                     '喈', '喁', '喟', '啾', '嗖', '喑', '啻', '嗟', '喽', '喾', '喔', '喙', '嗪', '嗷', '嗉', '嘟', '嗑', '嗫', '嗬', '嗔',
                     '嗝', '嗄', '嗯', '嗥', '嗲', '嗳', '嗌', '嗍', '嗵', '嗤', '嘞', '嘈', '嘌', '嘁', '嘤', '嘣', '嗾', '嘧', '嘭', '噘',
                     '噗', '嘬', '噍', '噢', '噙', '噜', '噌', '噔', '嚆', '噤', '噱', '噫', '噻', '噼', '嚅', '嚓', '嚯', '囔', '囗', '囝',
                     '囡', '囵', '囫', '囹', '圄', '圊', '圜', '帏', '帙', '帔', '帑', '帱', '帻', '帼', '幄', '幔', '幛', '幞', '幡', '岌',
                     '屺', '岍', '岐', '岈', '岘', '岙', '岑', '岚', '岜', '岵', '岢', '岽', '岬', '岱', '岣', '峁', '岷', '峄', '峒', '峤',
                     '峋', '峥', '崂', '崃', '崧', '崦', '崮', '崤', '崞', '崆', '嵘', '崾', '崴', '崽', '嵬', '嵛', '嵯', '嵝', '嵫', '嵋',
                     '嵊', '嵩', '嵴', '嶂', '嶙', '嶝', '豳', '嶷', '彳', '徂', '徉', '後', '徕', '徜', '徭', '徵', '徼', '衢', '彡', '犭',
                     '犰', '犴', '犷', '犸', '狃', '狁', '狎', '狍', '狒', '狨', '狯', '狩', '狲', '狴', '狷', '猁', '狳', '猃', '狺', '狻',
                     '猗', '猓', '猡', '猊', '猞', '猝', '猕', '猢', '猹', '猥', '猸', '猱', '獐', '獍', '獗', '獠', '獬', '獯', '獾', '舛',
                     '夥', '飧', '夤', '夂', '饣', '饧', '饨', '饩', '饪', '饫', '饬', '饴', '饷', '饽', '馀', '馄', '馇', '馊', '馐', '馑',
                     '馓', '馔', '馕', '庀', '庑', '庋', '庖', '庥', '庠', '庹', '庾', '庳', '赓', '廒', '廑', '廛', '廨', '廪', '膺', '忄',
                     '忉', '忖', '忏', '怃', '忮', '怄', '忡', '忤', '忾', '怅', '怆', '忪', '忭', '忸', '怙', '怵', '怦', '怛', '怏', '怍',
                     '怩', '怫', '怊', '怿', '恸', '恹', '恻', '恺', '恂', '恪', '恽', '悚', '悭', '悝', '悃', '悒', '悌', '悛', '惬', '悻',
                     '悱', '惝', '惘', '惆', '惚', '愠', '愦', '惴', '愀', '愎', '愫', '慊', '慵', '憬', '憧', '憷', '懔', '懵', '忝', '隳',
                     '闩', '闫', '闱', '闳', '闵', '闶', '闼', '闾', '阃', '阆', '阈', '阊', '阋', '阌', '阍', '阏', '阒', '阕', '阗', '阙',
                     '阚', '丬', '氵', '汔', '汜', '汊', '沣', '沅', '沔', '沌', '汨', '汩', '汴', '汶', '沆', '沩', '泐', '泔', '沭', '泸',
                     '泱', '泗', '沲', '泠', '泖', '泫', '泮', '沱', '泓', '泯', '泾', '洧', '洌', '浃', '浈', '洇', '洄', '洙', '洎', '洫',
                     '浍', '洮', '洵', '浒', '浔', '洳', '涑', '浯', '涞', '涠', '浞', '涓', '涔', '浜', '浠', '浼', '浣', '渚', '淇', '淅',
                     '淞', '渎', '涿', '淠', '渑', '淦', '淝', '淙', '渖', '涫', '渌', '渫', '湮', '湎', '湫', '溲', '湟', '溆', '湓', '湔',
                     '渥', '滟', '溱', '溘', '滠', '漭', '滢', '溥', '溧', '溽', '溻', '溷', '滗', '溴', '滏', '溏', '滂', '溟', '潆', '漤',
                     '漕', '滹', '漯', '漶', '潋', '潴', '漪', '漉', '漩', '澉', '澍', '澌', '潸', '潲', '潼', '潺', '濑', '濉', '澧', '澹',
                     '澶', '濂', '濡', '濮', '濞', '濠', '濯', '瀚', '瀣', '瀛', '瀹', '瀵', '灏', '灞', '宄', '宕', '宥', '宸', '甯', '骞',
                     '搴', '褰', '寰', '蹇', '謇', '辶', '迓', '迕', '迥', '迮', '迤', '迩', '迦', '迳', '迨', '逅', '逄', '逋', '逦', '逑',
                     '逍', '逖', '逡', '逵', '逶', '逭', '逯', '遄', '遑', '遒', '遐', '遨', '遢', '遛', '暹', '遴', '遽', '邂', '邈', '邃',
                     '邋', '彐', '彗', '彖', '尻', '咫', '屐', '屙', '孱', '屣', '屦', '羼', '弪', '弩', '弭', '艴', '弼', '鬻', '屮', '妁',
                     '妍', '妩', '妪', '妣', '妗', '妫', '妞', '妤', '姒', '妲', '姗', '娅', '娆', '娈', '姣', '姘', '姹', '娌', '娉', '娲',
                     '娴', '娑', '娣', '娓', '婀', '婧', '婊', '婕', '娼', '婵', '胬', '媪', '媛', '婷', '婺', '媾', '嫫', '媲', '嫒', '嫔',
                     '媸', '嫠', '嫣', '嫱', '嫖', '嫦', '嫘', '嫜', '嬗', '嬖', '嬲', '嬷', '孀', '尕', '尜', '孥', '孳', '孑', '孓', '孢',
                     '驵', '驷', '驸', '驺', '驿', '驽', '骀', '骁', '骅', '骈', '骐', '骒', '骓', '骖', '骘', '骛', '骜', '骟', '骠', '骢',
                     '骣', '骥', '骧', '纟', '纡', '纣', '纥', '纨', '纩', '纭', '纰', '纾', '绀', '绁', '绂', '绉', '绋', '绌', '绐', '绔',
                     '绗', '绛', '绠', '绡', '绨', '绫', '绮', '绯', '绱', '绲', '缍', '绶', '绺', '绻', '绾', '缁', '缂', '缃', '缇', '缈',
                     '缋', '缌', '缏', '缑', '缒', '缗', '缙', '缜', '缛', '缟', '缡', '缢', '缣', '缥', '缦', '缧', '缫', '缬', '缯', '缱',
                     '缲', '缳', '缵', '畿', '巛', '甾', '邕', '玎', '玑', '玮', '玢', '玟', '珂', '珑', '玳', '珀', '珉', '珈', '珥', '珙',
                     '顼', '琊', '珩', '珧', '珞', '玺', '珲', '琏', '琪', '瑛', '琦', '琥', '琨', '琰', '琬', '琛', '琚', '瑁', '瑜', '瑗',
                     '瑕', '瑷', '瑭', '瑾', '璜', '璎', '璀', '璁', '璇', '璋', '璞', '璨', '璩', '璐', '瓒', '璺', '韪', '韫', '韬', '杌',
                     '杓', '杈', '杩', '枥', '枇', '杪', '枘', '枧', '杵', '枨', '枞', '枭', '枋', '杷', '杼', '柰', '柘', '栊', '柩', '枰',
                     '栌', '柙', '枵', '枳', '柝', '栀', '柃', '枸', '柢', '柁', '柽', '栲', '栳', '桠', '桡', '桎', '桢', '桄', '桤', '梃',
                     '栝', '桕', '桁', '桧', '桀', '栾', '桊', '桉', '栩', '梵', '梏', '桴', '桷', '梓', '桫', '棂', '楮', '棼', '椟', '椠',
                     '棹', '椤', '棰', '椋', '椁', '楗', '棣', '椐', '楱', '椹', '楂', '楝', '楫', '榀', '榘', '楸', '椴', '槌', '榇', '榈',
                     '槎', '榉', '楦', '楣', '楹', '榛', '榧', '榻', '榫', '榭', '槔', '榱', '槁', '槊', '槟', '槠', '榍', '槿', '樯', '槭',
                     '樗', '樘', '橥', '槲', '樾', '檠', '橐', '橛', '樵', '檎', '橹', '樽', '樨', '橼', '檑', '檩', '檗', '檫', '猷', '獒',
                     '殁', '殂', '殇', '殄', '殒', '殓', '殍', '殚', '殛', '殡', '殪', '轫', '轭', '轱', '轲', '轳', '轵', '轶', '轸', '轷',
                     '轹', '轺', '轼', '轾', '辁', '辂', '辄', '辇', '辋', '辍', '辎', '辏', '辘', '辚', '軎', '戗', '戛', '戟', '戢', '戡',
                     '戥', '戤', '戬', '瓯', '瓴', '瓿', '甏', '甑', '甓', '旮', '旯', '旰', '昊', '昙', '杲', '昕', '昀', '炅', '昝', '昴',
                     '昱', '昶', '昵', '耆', '晟', '晔', '晁', '晏', '晖', '晡', '晷', '暄', '暌', '暧', '暝', '暾', '曛', '曜', '曦', '曩',
                     '贲', '贳', '贶', '贽', '赀', '赅', '赆', '赈', '赉', '赇', '赍', '赕', '赙', '觇', '觊', '觋', '觌', '觎', '觏', '觐',
                     '觑', '牮', '犟', '牝', '牦', '牯', '牾', '牿', '犄', '犋', '犍', '犏', '犒', '挈', '挲', '搿', '擘', '耄', '毪', '毳',
                     '毽', '毵', '毹', '氅', '氇', '氆', '氍', '氕', '氘', '氙', '氚', '氡', '氩', '氤', '氪', '氲', '攵', '敕', '敫', '牍',
                     '牒', '牖', '虢', '肟', '肜', '肓', '肼', '朊', '肽', '肱', '肫', '肭', '肷', '胨', '胩', '胪', '胛', '胂', '胄', '胙',
                     '胍', '胗', '朐', '胝', '胫', '胱', '胴', '胭', '脍', '脎', '胲', '胼', '脒', '脶', '脞', '脬', '脘', '脲', '腈', '腌',
                     '腓', '腴', '腙', '腚', '腱', '腠', '腩', '腼', '腽', '腭', '腧', '塍', '媵', '膈', '膂', '膑', '滕', '膣', '膪', '臌',
                     '臁', '膦', '欤', '欷', '欹', '歃', '歆', '歙', '飑', '飒', '飓', '飕', '飙', '飚', '殳', '彀', '毂', '觳', '斐', '齑',
                     '斓', '於', '旆', '旄', '旃', '旌', '旎', '旒', '旖', '炀', '炜', '炖', '炝', '炻', '烀', '炷', '炱', '烨', '烊', '焐',
                     '焓', '焖', '焯', '焱', '煳', '煜', '煨', '煅', '煲', '煊', '煸', '煺', '熘', '熳', '熵', '熨', '熠', '燠', '燔', '燧',
                     '燹', '爝', '爨', '灬', '焘', '煦', '戾', '戽', '扃', '扈', '扉', '礻', '祆', '祉', '祛', '祜', '祓', '祚', '祢', '祯',
                     '祧', '祺', '禊', '禚', '禧', '禳', '忑', '忐', '怼', '恝', '恚', '恧', '恁', '恣', '悫', '愆', '愍', '慝', '憩', '憝',
                     '懋', '懑', '戆', '肀', '泶', '淼', '矶', '矸', '砀', '砉', '砗', '砘', '砑', '斫', '砭', '砜', '砝', '砹', '砺', '砻',
                     '砟', '砼', '砥', '砬', '砣', '砩', '硎', '硭', '硖', '硗', '砦', '硐', '硇', '硌', '硪', '碛', '碓', '碚', '碇', '碜',
                     '碡', '碣', '碲', '碹', '碥', '磔', '磙', '磉', '磬', '磲', '礅', '磴', '礓', '礤', '礞', '礴', '龛', '黹', '黻', '黼',
                     '盱', '眄', '眍', '眇', '眈', '眚', '眢', '眙', '眭', '眦', '眵', '眸', '睑', '睇', '睃', '睚', '睨', '睢', '睥', '睿',
                     '瞍', '睽', '瞀', '瞌', '瞑', '瞟', '瞠', '瞰', '瞵', '瞽', '町', '畀', '畎', '畋', '畈', '畛', '畲', '畹', '疃', '罘',
                     '罡', '罟', '詈', '罨', '罴', '罱', '罹', '罾', '盍', '盥', '蠲', '钅', '钆', '钇', '钋', '钊', '钌', '钍', '钏', '钐',
                     '钔', '钗', '钕', '钚', '钛', '钜', '钣', '钤', '钫', '钪', '钭', '钬', '钯', '钰', '钲', '钴', '钶', '钷', '钸', '钹',
                     '钺', '钼', '钽', '钿', '铄', '铈', '铉', '铊', '铋', '铌', '铍', '铎', '铑', '铒', '铕', '铖', '铗', '铙', '铘', '铞',
                     '铟', '铠', '铢', '铤', '铥', '铧', '铨', '铪', '铩', '铫', '铮', '铯', '铳', '铴', '铵', '铷', '铹', '铼', '铽', '铿',
                     '锃', '锂', '锆', '锇', '锉', '锊', '锍', '锎', '锏', '锒', '锓', '锔', '锕', '锖', '锘', '锛', '锝', '锞', '锟', '锢',
                     '锪', '锫', '锩', '锬', '锱', '锲', '锴', '锶', '锷', '锸', '锼', '锾', '锿', '镂', '锵', '镄', '镅', '镆', '镉', '镌',
                     '镎', '镏', '镒', '镓', '镔', '镖', '镗', '镘', '镙', '镛', '镞', '镟', '镡', '镢', '镤', '镥', '镦', '镧', '镨', '镩',
                     '镪', '镫', '镬', '镯', '镱', '镲', '镳', '锺', '矧', '矬', '秕', '秭', '秣', '秫', '稆', '嵇', '稃', '稂', '稞', '稔',
                     '稹', '稷', '穑', '黏', '馥', '穰', '皈', '皎', '皙', '皤', '瓞', '瓠', '鸢', '鸨', '鸩', '鸪', '鸫', '鸬', '鸲', '鸱',
                     '鸶', '鸸', '鸷', '鸹', '鸺', '鸾', '鹁', '鹂', '鹄', '鹆', '鹇', '鹈', '鹋', '鹌', '鹎', '鹑', '鹕', '鹗', '鹚', '鹛',
                     '鹜', '鹞', '鹣', '鹧', '鹨', '鹩', '鹪', '鹫', '鹬', '鹱', '鹭', '鹳', '疒', '疔', '疖', '疠', '疝', '疬', '疣', '疳',
                     '疴', '疸', '痄', '疱', '疰', '痃', '痂', '痖', '痍', '痣', '痨', '痦', '痤', '痫', '痧', '瘃', '痱', '痼', '痿', '瘐',
                     '瘀', '瘅', '瘌', '瘗', '瘊', '瘥', '瘘', '瘕', '瘙', '瘛', '瘼', '瘢', '瘠', '癀', '瘭', '瘰', '瘿', '瘵', '癃', '瘳',
                     '癍', '癞', '癔', '癜', '癖', '癫', '癯', '翊', '竦', '穸', '穹', '窀', '窆', '窈', '窕', '窦', '窠', '窬', '窨', '窭',
                     '窳', '衤', '衩', '衲', '衽', '衿', '袂', '袢', '裆', '袷', '袼', '裉', '裢', '裎', '裣', '裥', '裱', '褚', '裼', '裨',
                     '裾', '裰', '褡', '褙', '褓', '褛', '褊', '褴', '褫', '褶', '襁', '襦', '襻', '疋', '胥', '皲', '皴', '矜', '耔', '耖',
                     '耜', '耠', '耢', '耥', '耦', '耧', '耩', '耨', '耱', '耋', '耵', '聃', '聍', '聒', '聩', '聱', '顸', '颀', '颃', '颉',
                     '颌', '颍', '颏', '颔', '颚', '颛', '颞', '颟', '颡', '颢', '颥', '颦', '虍', '虔', '虬', '虮', '虿', '虺', '虼', '虻',
                     '蚨', '蚍', '蚋', '蚬', '蚝', '蚧', '蚩', '蚶', '蛄', '蚵', '蛎', '蚰', '蚺', '蚱', '蛉', '蛏', '蚴', '蛩', '蛱', '蛲',
                     '蛭', '蛳', '蛐', '蛞', '蛴', '蛟', '蛘', '蛑', '蜃', '蜇', '蛸', '蜊', '蜍', '蜉', '蜣', '蜞', '蜥', '蜮', '蜚', '蜾',
                     '蝈', '蜴', '蜱', '蜩', '蜷', '蜿', '螂', '蜢', '蝽', '蝾', '蝻', '蝰', '蝮', '螋', '蝓', '蝣', '蝼', '蝤', '蝥', '螓',
                     '螯', '螨', '蟒', '螈', '螅', '螭', '螗', '螫', '蟥', '螬', '螵', '螳', '蟓', '螽', '蟑', '蟊', '蟛', '蟪', '蟠', '蟮',
                     '蠖', '蠓', '蟾', '蠊', '蠛', '蠡', '蠹', '蠼', '罂', '罄', '罅', '舐', '竺', '笈', '笃', '笄', '笕', '笊', '笫', '笏',
                     '筇', '笸', '笪', '笮', '笱', '笠', '笥', '笤', '笳', '笾', '笞', '筘', '筚', '筅', '筵', '筌', '筠', '筮', '筻', '筢',
                     '筲', '筱', '箐', '箦', '箧', '箸', '箬', '箝', '箨', '箅', '箪', '箜', '箢', '箴', '篑', '篁', '篌', '篝', '篚', '篥',
                     '篦', '篪', '簌', '篾', '篼', '簏', '簖', '簋', '簟', '簪', '簦', '籁', '籀', '舁', '舄', '衄', '舡', '舢', '舣', '舭',
                     '舯', '舨', '舫', '舸', '舻', '舳', '舴', '舾', '艄', '艉', '艋', '艏', '艚', '艟', '艨', '衾', '袅', '袈', '裟', '襞',
                     '羝', '羟', '羧', '羯', '羰', '籼', '敉', '粑', '粝', '粜', '粞', '粢', '粲', '粼', '粽', '糁', '糇', '糌', '糍', '糈',
                     '糅', '糗', '糨', '艮', '暨', '羿', '翎', '翕', '翥', '翡', '翮', '翳', '絷', '綦', '綮', '繇', '纛', '麸', '麴', '赳',
                     '趄', '趔', '趑', '趱', '赧', '赭', '豇', '豉', '酊', '酐', '酎', '酏', '酤', '酢', '酡', '酰', '酩', '酯', '酽', '酾',
                     '酲', '酴', '酹', '醌', '醅', '醐', '醍', '醑', '醢', '醣', '醪', '醭', '醮', '醯', '醵', '醴', '醺', '鹾', '趸', '跫',
                     '踅', '蹙', '蹩', '趵', '趿', '趼', '趺', '跄', '跖', '跗', '跚', '跞', '跎', '跏', '跆', '跬', '跸', '跣', '跹', '踉',
                     '跽', '踔', '踝', '踟', '踬', '踮', '踣', '踯', '踺', '蹀', '踹', '踵', '踽', '蹉', '蹁', '蹑', '蹒', '蹊', '蹰', '蹶',
                     '蹼', '蹯', '蹴', '躅', '躔', '躐', '躜', '躞', '豸', '貂', '貊', '貅', '貘', '貔', '斛', '觖', '觚', '觜', '觥', '觫',
                     '觯', '訾', '謦', '靓', '雩', '雯', '霆', '霁', '霈', '霏', '霪', '霭', '龀', '龃', '龅', '龆', '龇', '龈', '龉', '龊',
                     '龌', '黾', '鼋', '鼍', '隼', '隽', '雎', '雒', '瞿', '雠', '銎', '銮', '鋈', '錾', '鍪', '鏊', '鎏', '鐾', '鑫', '鱿',
                     '鲂', '鲅', '鲆', '鲇', '鲈', '稣', '鲋', '鲎', '鲐', '鲑', '鲒', '鲔', '鲕', '鲚', '鲛', '鲞', '鲟', '鲠', '鲡', '鲢',
                     '鲣', '鲥', '鲦', '鲧', '鲩', '鲭', '鲮', '鲰', '鲱', '鲲', '鲳', '鲴', '鲵', '鲶', '鲷', '鲺', '鲻', '鲼', '鲽', '鳅',
                     '鳆', '鳇', '鳊', '鳋', '鳌', '鳎', '鳏', '鳐', '鳓', '鳔', '鳕', '鳗', '鳘', '鳙', '鳜', '鳝', '鳟', '鳢', '靼', '鞅',
                     '鞑', '鞒', '鞔', '鞯', '鞫', '鞣', '鞲', '鞴', '骱', '骰', '骷', '鹘', '骶', '骺', '骼', '髁', '髀', '髅', '髂', '髋',
                     '髌', '髑', '魃', '魇', '魉', '魈', '魍', '魑', '飨', '餍', '餮', '饕', '饔', '髟', '髡', '髯', '髫', '髻', '髹', '鬈',
                     '鬏', '鬟', '鬣', '麽', '麾', '縻', '麂', '麇', '麈', '麒', '鏖', '黛', '黜', '黝', '黠', '黟', '黢', '黩', '黧', '黥',
                     '黪', '鼢', '鼬', '鼯', '鼹', '鼷', '鼽', '鼾', '齄', '兀', '丐', '廿', '卅', '丕', '亘', '丞', '鬲', '噩', '匕', '夭',
                     '囟', '亟', '孛', '厮', '匾', '卦', '卣', '剌', '劓', '亻', '攸', '侃', '偎', '佥', '兮', '凫', '兕', '禀', '冥', '刍',
                     '叟', '馨', '艹', '艿', '芙', '茉', '苴', '莺', '堇', '蒿', '薇', '奚', '尬', '尴', '拗', '捺', '弋', '忒', '叽', '叩',
                     '叨', '吆', '呱', '咄', '咧', '咪', '唠', '唧', '唰', '嗒', '嗦', '嗨', '辔', '嘀', '嘹', '囿', '圉', '帷', '岖', '岫',
                     '崛', '巅', '彷', '徇', '徙', '徨', '猬', '馍', '庵', '怡', '悖', '悴', '愕', '愣', '憔', '阄', '阖', '爿', '戕', '沐',
                     '泷', '泺', '洹', '洚', '浏', '涮', '渲', '湄', '潢', '潇', '宀', '宓', '寤', '寮', '遘', '彘', '妃', '姊', '妯', '妾',
                     '姝', '婢', '嬉', '孚', '骊', '骝', '缤', '缪', '缭', '缰', '幺', '珏', '玷', '琮', '瑙', '璧', '杞', '杳', '栉', '柚',
                     '栎', '桦', '楠', '榄', '榕', '橄', '橘', '檐', '戋', '臧', '攴', '昃', '曷', '晗', '贻', '掰', '爰', '刖', '肴', '胧',
                     '朕', '豚', '朦', '臊', '膻', '炫', '熹', '祀', '祗', '祠', '禅', '恙', '聿', '沓', '盹', '睐', '羁', '铐', '铛', '镝',
                     '雉', '皓', '甬', '鸠', '鹉', '鹦', '瘾', '耒', '聆', '覃', '蚣', '蚪', '蚓', '蚯', '蜓', '蜈', '蜻', '蝠', '蝌', '蝙',
                     '蟆', '螃', '蟋', '蟀', '缶', '竽', '笙', '筝', '箫', '簸', '臾', '舂', '臬', '裘', '羲', '翦', '翩', '糸', '豕', '跛',
                     '跷', '跻', '跤', '踱', '蹂', '躏', '觞', '雳', '霎', '霰', '霾', '隹', '鲨', '鲫', '鳄', '鳍', '魅', '髦', '髭', '鬓',
                     '麋', '麝', '麟', '黯']


if __name__ == '__main__':
    古文字典 = 古文书法字典(字典文件路径="篆体甲骨文字典.svg", 背景色="#f5f1e8", 背景边框色="#ddd9d1", 文字颜色="#181716")
    古文字典.完成()
    古文字典.生成PDF()
